<?php

if (! defined ( 'BASEPATH' ))
	exit ( 'No direct script access allowed' );
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package		CodeIgniter
 * @author		ExpressionEngine Dev Team
 * @copyright	Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license		http://codeigniter.com/user_guide/license.html
 * @link		http://codeigniter.com
 * @since		Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------


/**
 * CodeIgniter Path Helpers
 *
 * @package		CodeIgniter
 * @subpackage	Helpers
 * @category	Helpers
 * @author		ExpressionEngine Dev Team
 * @link		http://codeigniter.com/user_guide/helpers/xml_helper.html
 */

// ------------------------------------------------------------------------


/**
 * Set Realpath
 *
 * @access	public
 * @param	string
 * @param	bool	checks to see if the path exists
 * @return	string
 */
if (! function_exists ( 'set_realpath' )) {
	function set_realpath($path, $check_existance = FALSE) {
		// Security check to make sure the path is NOT a URL.  No remote file inclusion!
		if (preg_match ( "#^(http:\/\/|https:\/\/|www\.|ftp|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})#i", $path )) {
			show_error ( 'The path you submitted must be a local server path, not a URL' );
		}
		
		// Resolve the path
		if (function_exists ( 'realpath' ) and @realpath ( $path ) !== FALSE) {
			$path = realpath ( $path ) . '/';
		}
		
		// Add a trailing slash
		$path = preg_replace ( "#([^/])/*$#", "\\1/", $path );
		
		// Make sure the path exists
		if ($check_existance == TRUE) {
			if (! is_dir ( $path )) {
				show_error ( 'Not a valid path: ' . $path );
			}
		}
		
		return $path;
	}
}


/* End of file path_helper.php */
/* Location: ./system/helpers/path_helper.php */